Blockchain Technology Interview Questions

2023-07-12

Having gone through many interviews recently, I’ve noticed a common phenomenon: it’s hard to have a meaningful conversation with the interviewer. Usually, interviewers only ask about the technologies they know and care about, which are often not the ones I focus on. For example, my resume mentions work related to State channels. If an interviewer knows what State channels are, they would certainly ask about the principles of HTLC. However, only one interviewer from a company specializing in blockchain projects asked me about it. And they didn’t hire me.

Although I’ve had many interviews and been rejected many times, most of the questions I’ve been asked are heavily web2-centric technical details. Few people have stumped me on blockchain-related topics, especially those mentioned on my resume. Therefore, I don’t feel too frustrated; instead, I often complain about why they focus on things I find unimportant. If I can understand a blockchain technology that takes two to three months to master, how can I not grasp a programming language issue that takes only half an hour to understand?

So, I thought, if I were the interviewer, what questions would I ask a candidate applying for a blockchain developer position? These questions are generally applicable and can delve deeper and expand:

  1. What is Bitcoin’s consensus mechanism, and what is UTXO?
  2. What is Ethereum’s consensus mechanism, and how is the block proposer selected?
  3. What other chains do you know, and what are their technical characteristics?
  4. What is the PBFT process, and which consortium chains are there in China?
  5. What are the variants of PBFT, and which chains use them?
  6. What are the types of Layer 2 technologies?
  7. What are the principles of State channels and Rollups?
  8. How is an account wallet generated, and what is a keystore file?
  9. What are the storage-based blockchains, and what are their challenges?
  10. What are the limitations of the Solidity language, and how does it differ from Go?
  11. Do you understand object-oriented programming, and have you written Java?
  12. Are there random numbers in blockchain, and how are they used?
  13. How are contract transactions processed by the virtual machine, and how can support for another language be added?
  14. What are eclipse attacks and Sybil attacks?
  15. Have you studied cross-chain assets, and what is the general process?

These questions do not have a specific order and are relatively basic, meant to spark further discussion. Suddenly, I remember being asked in an interview, “How are blocks connected in a blockchain?” The answer is that the next block contains the hash of the previous block. This kind of question is too elementary; let’s ask more advanced questions.